1. Field of the Invention
The present invention relates to a data transmission system of a type wherein a plurality of stations are connected to a common transmission line employing a token which manages a data transmission right in the system, and specifically to a data transmission method which is capable of efficiently combining packet communication with cyclic data communication.
2. Background Art
One conventional approach to manage a right to put data onto a transmission line or a right to use a communication network is known as a so-called token passing system which permits one station at a time to transmit data on condition that the station has a token or transmission permit. The transmission line for a data transmission system of the token passing type are classified into two large groups, i.e., a ring-type and a bus-type (including a star-type). In the ring type, the order in which the token is circulated among the stations is uniquely determined by order in which stations are connected to one another, while in the bus type the order can freely be set in accordance with the transmission protocol.
FIG. 2 schematically shows the construction of a conventional bus-type data transmission system.
In the same drawing, each of stations (hereinafter be abbreviated "ST") 21, 22, 23 and 24 is connected to a transmission line 25. Let's now assume that each of the STs of 21 to 24 is performing a cyclic communication. The term "cyclic communication" means that cyclic data (such as sampling data or temperature data in a system to be monitored and controlled), which is periodically produced in a specific station, is periodically transmitted to each of the stations which requires the data. Each of the STs of 21 to 24 includes a cyclic memory thereinside. In the illustrative example, the ST 21 is a source from which data A is being transmitted and the transmission data is shown as "A". "a" of each of the STs of 22 to 24 represents a memory area for receiving the data A transmitted from the ST 21. Similarly, the ST 22 is a source from which data B is being transmitted, which transmission data is called "B". "b" of each of the STs 21, 23 and 24 represents a memory area for receiving the data B transmitted from the ST 22. Likewise, the transmission data of the ST 23 is taken as "C" and that of the ST 24 is taken as "D". Memory areas for receiving these transmission data are "c" and "d" respectively.
FIG. 3 is a timing chart of data flow in the cyclic communication which has been described with reference to FIG. 2. A token is sequentially delivered to each of the stations in accordance with the transmission protocol. When token 31 is received by the ST 21, a transmission right is given to the ST 21. As a consequence, the ST 21 puts the cyclic data A onto the transmission line 25. The same cyclic data A is received by other STs almost simultaneously with the transmission. However, a timing chart for describing its receiving process is omitted herein. Then, the ST 21 transmits token 33 and hence its transmission right is released. The token 33 is in turn acquired by the ST 22 in accordance with the transmission protocol. Upon receipt of the token, the ST 22 sends dummy data 34 to the transmission line 25 since no data to be transmitted therefrom is present in this example. The purpose of insertion of this dummy data is to ensure the periodicity of data to be transmitted under the cyclic communication among the STs 21, 22, 23 and 24. Accordingly, the data length of the dummy data 34 corresponds to that of the cyclic data B which would be transmitted if transmission data was present. Next, the ST 22 transmits token 35, which is in turn acquired by the ST 23 in accordance with the transmission protocol in the same manner as described above. The ST 23 transmits token 37 subsequent to transmission of the cyclic data C and hence its transmission right is passed to the following ST, i.e., the token 37 is acquired by the ST 24. The ST 24 transmits dummy data 38 in the same manner as in the ST 22 because of the absence of data to be transmitted. Subsequent operations are performed in a similar manner as in the above. Namely, token 39 is transmitted and then acquired by the ST 21 again.
A token circulation time T.sub.tk, which is required to cause the token to circulate around all the stations in accordance with the above-described procedure, is assuredly maintained at a predetermined constant time, thereby establishing the periodicity in the cyclic communication.
Another prior art approach is known for example in the article "Ohm", pp. 68-74, September 1987, which performs the cyclic communication through a local-area network (LAN) of a token passing bus type in accordance with IEEE 802.4. As shown in FIG. 4, this approach features that a cyclic data transmission cycle T.sub.cyc is set to a predetermined period of time by providing one ST (ST 21 in this shown case) which is to transmit dummy data and adjusting the time to transmit the dummy data 40. Incidentally, dissimilar to the example shown in FIG. 3, FIG. 4 shows one example in which the ST 22 transmits cyclic data B and the ST 24 transmits cyclic data D.
The above-described prior art can bring about good effects in the system in which only the cyclic communication is employed. A problem however arises in the case where it is desired to combine packet communication with cyclic communication.
In other words, a method for transmitting packet data in synchronism with the timing of transmission of cyclic data could be proposed to combine the packet communication with the cyclic communication. There is however a potential problem that the above-described cyclic data is impaired in periodicity of transmission because of the intervention of the packet communication.
The prior art in FIG. 3 described above is also accompanied by a problem that a throughput of the packet communication is deteriorated significantly. In addition, the prior art of FIG. 4 is also accompanied by a problem that only one transmission timing is provided within a cycle for production of cyclic data and the packet communication cannot be performed efficiently.